<?php
//writer by lijianwei
/*
文件类
*/
class Inc_File
{  
  /*
   作用：创建文件
   @param  $filepath 文件路劲 相对路径
   @param  $createdir 如果目录不存在是否创建目录 
   @param  $override  如果文件存在是否覆盖
    file_exists 检查文件目录是否存在  get_magic_quotes_gpc 开启 '  \'    stripslashes \' --> '  addslashes ' ---> \'
   返回: true  or false
   
   */ 
   
   private $maxsize; //上传文件最大文件
   public function __construct($maxsize=0){
        $this->maxsize=$maxsize*1024;
		if(empty($this->maxsize)) $this->maxsize=500*1024;
   }
   function CreateFile($filepath=null,$createdir=false,$override=false){
          if(empty($filepath)) return 0; //is_dir 目录存在且是正常的目录 true  is_file文件存在且为文件 true 
		  $path=dirname($filepath);
		  if(!file_exists($path)){//判断目录是否存在  file_exists(文件或目录)
		     if($createdir){//如果$createdir为真，则创建目录
				 if(!$this->CreateDir($path))return false;
			 }else{
			    return false;
			 }
		  
		  }
		  if(file_exists($filepath)){
			  if($override){
				   unlink($filepath);
				   if(!$fp=fopen($filepath,"wb")) return false;
				   fclose($fp);
				   return true;
		      }else{
				 return false;
			  }
		  }else{
			if(!$fp=fopen($filepath,"wb")) return false;
				   fclose($fp);
				   return true;
		 }
   
   }
   /*
   作用:文件重命名
   @param $filename1 原来的文件路径名  
   @param $filename2 后来的文件路径名
   @param $override  新文件名 重名时如何处理。
    rename  文件或目录的重命名和移动   文件名 1.txt --> 3.html如果新的文件名遇到重名的，则失败
   note: 这里两个路径的目录部分要相同
   返回: true  or false
   */
   function RenameFile($filename1=null,$filename2=null,$override=false){
           if(!is_file($filename1)) return 0;
           if(!file_exists($filename1)) return 0;
		   if(dirname($filename1)==dirname($filename2)){
		       if(!file_exists($filename2)){
			       chmod(dirname($filename1),0777);
			       if(rename($filename1,$filename2)) return true;
			       return false; 
			   }else{
			      if($override){
				     chmod(dirname($filename1),0777);
					 chmod(dirname($filename2),0777);
				     unlink($filename2);
					 if(rename($filename1,$filename2)) return true;
				     return false;
				  }else{
				     return false;
				  }
			   }
		   
		   }
   
   
   }
   /*
   作用：删除文件
   @param $filename 文件路径名
   返回:true or false
   
   */
   function DeleteFile($filename=null){
      if(!file_exists($filename)) return 0;
	  chmod(dirname($filename),0777);
	  if(unlink($filename)) return true;
	  return false;	  
   }
   /*
   作用：上传文件
   @param $file  上传的文件信息  array   包含$_FILES[名称]['name'] 原文件名称  $_FILES[名称]['size']文件大小  type  tmp_name  error
   @param $savedir  保存的路径
   @param $print_msg 是否输出信息
   返回:单个文件返回文件  多个文件返回文件数组
    */
   function UploadFile($file=null,$savedir=null,$print_msg=true){
          if(count($file)==0) return false;
		  if(empty($savedir) or !is_dir($savedir))return false;
          $arr=array('.jpg','.gif','.bmp','.png','.swf','.doc','.xls','.ppt','.txt','.rm','.rmvb','.avi','.rar'); //文件格式限制
		  //$size=1024000;//文件大小限制
		  if(is_array($file['name'])){
		  //多个文件上传
		     foreach($file['name'] as $v){
			     if(empty($v)){
				   $msg="文件名不能为空";
				   return $msg;
				   exit;
				 }
				  $ext=substr($v,strrpos($v,"."),strlen($v)-strrpos($v,"."));//获取文件格式
				  if(!in_array(strtolower($ext),$arr)){
				     $msg="对不起，本网站不允许".$ext."类型的文件上传";
				     return $msg;
				     exit;
				  }
			 } 
			 foreach($file['size'] as $v){
			     if($v>$this->maxsize){
				    $size=$this->maxsize;
					$size=$size/1024;
			        $msg="对不起，本网站不允许上传大于".$size."KB的文件";
				    return $msg;
				    exit;
				 }
			 }
			 if(opendir($savedir)){
			  $return = array();
			  $i=0;
			  foreach($file['tmp_name'] as $k => $v){
			       if(is_uploaded_file($v)){// 确保文件是通过http_post上传的
		                 $newfilename=date(YmdHis).rand(0,9).rand(0,9).rand(0,9).substr($file['name'][$k],strrpos($file['name'][$k],"."),strlen($file['name'][$k])-strrpos($file['name'][$k],"."));
				           $savedir1=$savedir."/".$newfilename;
				           if(move_uploaded_file($v,$savedir1)){
				             $return[$i]=$savedir1;
				           }
					    
		             }
				 
				 $i++; 
			  }
			 }
			 if($return) return $return;
			 return false;
		  }else{
		   //单个文件上传
		      if(empty($file['name'])){
			     $msg="文件名不能为空";
				 return $msg;
				 exit;
			   }
			   $ext=substr($file['name'],strrpos($file['name'],"."),strlen($file['name'])-strrpos($file['name'],"."));//获取文件格式
			   //array_search 在数组中搜索给定的值 成功返回键值 失败返回false array_search(字符串,数组)   in_array(字符串，数组) 返回为true or false 
		       if(!in_array(strtolower($ext),$arr)){
			     $msg="对不起，本网站不允许".$ext."类型的文件上传";
				 return $msg;
				 exit;
			   }
			   if($file['size']>$this->maxsize){
			      $size=$this->maxsize;
				  $size=$size/1024;
			      $msg="对不起，本网站不允许上传大于".$size."KB的文件";
				  return $msg;
				  exit;
			   }
			   if(is_uploaded_file($file['tmp_name'])){// 确保文件是通过http_post上传的
		           $newfilename=date(YmdHis).rand(0,9).rand(0,9).rand(0,9).$ext;
				   if(opendir($savedir)){
				         $savedir.="/".$newfilename;
				         if(move_uploaded_file($file['tmp_name'],$savedir)){
				            return $savedir;
				            exit;
				         }
					}
		       }
			   $msg="出现错误";
			   return $msg;
			   exit;
		  }
   }
   
   /*
   作用：创建目录
   @param $dir 目录路径(相对路径  可以创建多级目录)
   @param $override 是否覆盖
   返回：返回 true or false
   */
   
   
   function CreateDir($dir=null,$override=false){
    if(empty($dir)) return 0;//首先判断是否为空
	 //if(preg_match("/\./i",$dir)) return 0; //目录路径里面不能有 .
	 //if(strrpos($dir,".")) return 0; //姑且这样判断，其实目录也可以有.
	 if(!file_exists($dir)){//如果目录不存在,创建
	      $dir=explode("/",$dir);
		  //修正bug,当目录为 /admin_log/abc 出现问题
		  for($i=0;$i<count($dir);$i++){
		    if(empty($dir[$i])) continue;
		    $d.=$dir[$i]."/";
			if(file_exists($d)) continue;
			if(!mkdir($d,0777)) return false;
		  }
		  return true;
		  
	 }else{//如果目录存在
	      if($override){//覆盖 先删除原目录
			  if($this->DeleteDir($dir)){//如果删除成功
			      if($this->CreateDir($dir)) return true;
			  }
			  return false;
			  
		  
		  }else{//不覆盖
			  return true;
		  }
	 }
   }
   /*
   作用：删除目录
   @param $path 目录路径名
   返回： true  or false
   */
   function DeleteDir($path=null){
       if(empty($path)) return 0;
	   if(!file_exists($path)) return 0;
	   //首先要删除目录中的文件和子目录
	   $dir=dir($path);
	   while($filename=$dir->read()){
	      if($filename=="." or $filename=="..") continue;
		  if(is_file($path."/".$filename)){
		     if(!$this->DeleteFile($path."/".$filename)) return false;
		  }else if(is_dir($path."/".$filename)){
		     if(!$this->DeleteDir($path."/".$filename)) return false;
		  }
	   
	   }
	   $dir->close(); // 注意一定要关闭目录句柄
	   chmod($path,0777);
	   if(rmdir($path)) return true;
	   return false;
	   
   
   }
   /*
   作用：重命名目录
   @param $olddirname 原来的目录名称
   @param $newdirname 新的目录名称
   @param $override 当出现重名的时候怎么处理
   返回: true or false;
   
   */
   
   function RenameDir($olddirname=null,$newdirname=null,$override=false){
     if(empty($olddirname)) return 0;//空
	 if(!file_exists($olddirname)) return 0; //不存在
	 if(!is_dir($olddirname)) return 0;//不存在 or 不是目录
     if(!is_dir($newdirname)){//如果newdirname不存在
	        chmod($olddirname,0777);
			if(!rename($olddirname,$newdirname))  return false;
		    return true;
     }else{
	    if($override){
		   $this->DeleteDir($newdirname);
		   if(!rename($olddirname,$newdirname)) return false;
		   return true;
		}else{
		   return false;
		}
	     
	 }
   }
   
   /*
   作用是显示文件和目录
   @param $path 要显示的目录 相对路径
   @param $url 网址  链接
   */
   function showfileanddir($path=null,$url=null){
     if(!is_dir($path)) return false; //是否是目录且存在
	 $uppath=dirname($path);
	 echo "<div id='upnav' style='width:100px; color:#000000;margin-left:20px'><a href={$url}/showupload/path/".base64_encode($uppath).">上一级目录</a></div>";
	 if($this->is_empty_dir($path)){
	   echo "此文件夹为空!!!";
	   return false;
	  
	 }
	
echo <<<EOT
<div id="content" style="width:800px;">
<div id="leftdir" style="width:200px;float:left;border-top:solid 3px #333333;">
<ul style="list-style-type:none; padding-left:10px;margin:0px;width:197px">
EOT;
     $dir=dir($path);
	 while($filename=$dir->read()){
	    if($filename=="." or $filename=="..") continue;
		if(is_dir($path."/".$filename)){//如果是目录
		   echo "<li style='padding-top:5px'><a href={$url}/showupload/path/".base64_encode($path."/".$filename).">".$filename."</a></li>";
		}
	 }
	 echo "</ul></div>";
	 $dir->rewind();//复位目录
	 $dir->close();//关闭目录
echo <<<EOT
   <div id="rightfile" style="width:600px;height:600px;float:right;padding-left:30px;padding-top:20px;border-left:solid 3px #333333;border-top:solid 3px #333333">
EOT;
     $dir=dir($path);
     while($filename=$dir->read()){
	    if($filename=="." or $filename=="..") continue;
        $filepath=$path."/".$filename;
		if(is_file($filepath)&&$this->is_pic($filepath)){
		   $pic_url=__ROOT__."/".$filepath;
		   $del_pic=base64_encode(realpath($filepath));
		   $goback_path=base64_encode($path);
		   $del_url=$url."/delupload/path/$goback_path/pic/".$del_pic;
		   echo "<div style='width:150px;float:left;padding-top:10px;'>";
		   echo "<div style='width:150px;text-align:center'>";
		   echo "<a href='$pic_url' title='点击查看大图' ><img src='$pic_url' width='80' height='80'></a>";
		   echo "</div>";
		   echo "<div style='width:150px;text-align:center'><a href={$del_url}>删除</a></div>";
		   echo "</div>";
		}
	 }
     echo "</div></div>";
   }
   /*
   作用：检查目录是否为空
   返回： true or false
   
   */
   function is_empty_dir($path=null){
      if(empty($path)) return 0;
	  if(is_file($path)) return 0;
	  if(!is_dir($path)) return 0;
      $flag=0;//标志 表示为空
	  $dir=dir($path);
	  while($filename=$dir->read()){
	      if($filename=="." or $filename=="..") continue;
		  if(is_file($path."/".$filename)||is_dir($path."/".$filename)){
		      $flag=1;
			  break;
		  }
	  }
	  $dir->rewind();
	  $dir->close();
	  if(!$flag)  return true;
	  return false;
	
   }
   /*
   作用：生成图片缩略图or放大
   @param $Pic 图片路径
   @param $newwidth 缩略图宽度
   @param $newheight 缩略图高度
   @param $errstring 错误说明文字
   @param $savepath 缩略图保存的路径
   @param $del 是否删除原文件
   返回:缩略图地址 or false;
    */
   function image_resize($pic,$newwidth=100,$newheight=100,$savepath='',$del=false,$errstring='image error'){
       if(!is_file($pic)) return 0;
       $ext=strtolower(end(explode('.',$pic)));
	   if($ext=='jpg'||$ext=='jpeg'){
	      $img=@imagecreatefromjpeg($pic);
	   }else if($ext=='png'){
	      $img=@imagecreatefrompng($pic);
	   }else if($ext=='gif'){
	      $img=@imagecreatefromgif($pic);
	   }else if($ext=='bmp'){
	     $img=@imagecreatefromwbmp($pic);
	   }
	   if($img){
	      $width=imagesx($img);
		  $height=imagesy($img);
		  $tmp_img=imagecreatetruecolor($newwidth,$newheight);
		  imagecopyresized($tmp_img,$img,0,0,0,0,$newwidth,$newheight,$width,$height);
		  if($del){
		     chmod(dirname($pic),0777);
			 unlink($pic);
		  }
		  if(file_exists($savepath)) $this->deletefile($savepath);
		  $dirname=dirname($savepath);
		  if(!file_exists($dirname)){
		     $this->createdir($dirname);
		  }
		  switch($ext){
		    case 'jpg':
			case 'jpeg':
			   imagejpeg($tmp_img,$savepath);
			   break;
			case 'gif':
			   imagegif($tmp_img,$savepath);
			   break;
			case 'png':
			   imagepng($tmp_img,$savepath);
			   break;
			case 'bmp':
			   imagewbmp($tmp_img,$savepath);
			   break;  
		  
		  }
		  imagedestroy($img);
		  imagedestroy($tmp_img);
		  return $savepath;
	   }else{
	      //如果有错误时
	      $img=imagecreate(100,100);
		  $bgcolor=imagecolorallocate($img,255,255,255);
		  $textcolor=imagecolorallocate($img,255,0,0);
		  imagefill($img,0,0,$bgcolor);
		  imagestring($img,5,0,0,$errstring,$textcolor);
		  imagejpeg($img);
		  imagedestroy($img);
		  //输出汉字
		         //$font="maozedong.ttf"; 
                //定义输出字体串 
                //$str ="有错误";
                //写 TTF 文字到图中 
                //imagettftext($pic,20,0,10,20,$white,$font,$str); 
                 //建立 GIF 图型
				  //header('Content-type:image/gif");
                  //imagegif($pic); 
                  //结束图形，释放内存空间 
                 //imagedestroy($pic);
	   }
   }
   /*
   作用：添加文字水印
   $pic 图片路径
   $str 水印文字
   $pos 位置  1 左上  2 左下  3 右上  4 右下
   $fontfile 字体文件
   $font  如果没有字体文件 使用的内置字体  1 2 3 4 5 (大小和字体)
   $font_color 字体颜色
   $size 字体大小 字体文件中的字体大小
   $x $y 坐标 默认为0 注意$x,$y 和$pos只能设置一项
   返回 $pic
   */
   function addsy($pic=null,$str=null,$pos,$font_color,$font=5,$fontfile="Public/Js/font/STXINWEI.TTF",$size=12,$x=0,$y=0){
        if(empty($pic)||!is_file($pic)) return 0;
		if(empty($str)) return 0;
		
	    $pathinfo=pathinfo($pic);
		$ext=$pathinfo['extension'];
		if($ext=='jpg'||$ext=='jpeg'){
	      $im=@imagecreatefromjpeg($pic);
	    }else if($ext=='png'){
	      $im=@imagecreatefrompng($pic);
	    }else if($ext=='gif'){
	      $im=@imagecreatefromgif($pic);
	    }else if($ext=='bmp'){
	     $im=@imagecreatefromwbmp($pic);
	    }
        $R=hexdec(substr($font_color,0,2));
		$G=hexdec(substr($font_color,2,2));
		$B=hexdec(substr($font_color,4,2));
		$textcolor=imagecolorallocate($im,$R,$G,$B);//字体颜色
        if($im){
		  $width=imagesx($im);
		  $height=imagesy($im);
		  if(!empty($fontfile)){
		    switch($pos){
			   case "1":
			      $x=10;
				  $y=10;
			   break;
			   case "2":
			     $x=10;
				 $y=$height-$size-10;
			   break;
			   case  "3":
			     $x=$width-10-$size*strlen($str);
				 $y=10;
			   break;
			   case "4":
			     $x=$width-10-$size*strlen($str);
			     $y=$height-$size-10;
			   break;
			 }
	         //$bgcolor=imagecolorallocatealpha($im,153,153,153,80);//153  153  153 颜色值  80 alpha值  0-127
		     //imagefilledrectangle($im,$width-250,$height-60,$width-10,$height-20,$bgcolor); 
			 //imagettftext ( resource image, int size, int angle, int x, int y, int color, string fontfile, string text)
		     imagettftext($im,$size,0,$x,$y,$textcolor,$fontfile,$str);
		  }else{
		    switch($pos){
			   case "1":
			      $x=10;
				  $y=10;
			   break;
			   case "2":
			     $x=10;
				 $y=$height-imagefontheight($font)-10;
			   break;
			   case  "3":
			     $x=$width-10-imagefontwidth($font)*strlen($str);
				 $y=10;
			   break;
			   case "4":
			     $x=$width-10-imagefontwidth($font)*strlen($str);
			     $y=$height-imagefontheight($font)-10;
			   break;
			} 
			imagestring($im,$font,$x,$y,$str,$textcolor);
		  }
		  //删除原图
		  chmod(dirname($pic),0777);
		  $this->deletefile($pic);
		  if($ext=='jpg'||$ext=='jpeg'){
	        @imagejpeg($im,$pic);
	      }else if($ext=='png'){
	        @imagepng($im,$pic);
	      }else if($ext=='gif'){
	        @imagegif($im,$pic);
	      }else if($ext=='bmp'){
	        @imagewbmp($im,$pic);
	      }
		  imagedestroy($im);
	   }
	   return $pic;
   }
/*   打图片水印
   $orignpath 原始图片
   $waterpath 水印图片 
   $pos 位置  1 左上  2 左下  3 右上  4 右下
   $opt 透明度 0-100
   返回 $orignpath
*/
   function watermark($orignpath="",$waterpath="",$pos,$opt=100){
       if(!is_file($orignpath)) return 0;
       if(!is_file($waterpath)) return 0;
	   $info=getimagesize($orignpath);
	   $nimage=imagecreatetruecolor($info[0],$info[1]);
	   $white=imagecolorallocate($nimage,255,255,255);
	   imagefill($nimage,0,0,$white);
	   switch($info[2]){
	       case 1:
		     $im=imagecreatefromgif($orignpath);
			 break;
		   case 2:
		     $im=imagecreatefromjpeg($orignpath);
			 break;
		   case 3:
		     $im=imagecreatefrompng($orignpath);
			 break;
		   case 6:
		     $im=imagecreatefromwbmp($orignpath);
			 break;
	       default:
		      die("不支持的文件类型");
			  exit;
	   }
	   imagecopymerge($nimage,$im,0,0,0,0,$info[0],$info[1],100);//把原图拷贝到新的真彩图片上
	   $winfo=getimagesize($waterpath);
	   switch($winfo[2]){
	       case 1:
		     $wimage=imagecreatefromgif($waterpath);
			 break;
		   case 2:
		     $wimage=imagecreatefromjpeg($waterpath);
			 break;
		   case 3:
		     $wimage=imagecreatefrompng($waterpath);
			 break;
		   case 6:
		     $wimage=imagecreatefromwbmp($waterpath);
			 break;
	       default:
		      die("不支持的文件类型");
			  exit;
	   }
	   switch($pos){
		  case "1":
		    $x=10;
			$y=10;
		  break;
		  case "2":
			 $x=10;
			 $y=$info[1]-$winfo[1]-10;
			   break;
			   case  "3":
			     $x=$info[0]-10-$winfo[0];
				 $y=10;
			   break;
			   case "4":
			     $x=$info[0]-10-$winfo[0];
			     $y=$info[1]-$winfo[1]-10;
			   break;
	   }
	   imagecopymerge($nimage,$wimage,$x,$y,0,0,$winfo[0],$winfo[1],$opt);//把水印图片拷到$nimage
	   imagedestroy($wimage);
	   imagedestroy($im);
	   $this->deletefile($orignpath);
	   switch($info[2]){
	       case 1:
		     imagegif($nimage,$orignpath);
			 break;
		   case 2:
		     imagejpeg($nimage,$orignpath);
			 break;
		   case 3:
		     imagepng($nimage,$orignpath);
			 break;
		   case 6:
		     imagewbmp($nimage,$orignpath);
			 break;
	       default:
		      die("不支持的文件类型");
			  exit;
	   }
	   imagedestroy($nimage);
	   return $orignpath;
	}
	//复制文件夹
	function copydir($orgdir,$destdir,$override=false){
	    if(!is_dir($orgdir)) return false;
		if(is_dir($destdir)&&$override)$this->DeleteDir($destdir);
		$this->CreateDir($destdir);
		$dir=dir($orgdir);
		while($name=$dir->read()){
		   if($name=="."||$name=="..")continue;
		   if(is_file($orgdir."/".$name)){
		       $this->copyfile($orgdir."/".$name,$destdir."/".$name);
		   }elseif(is_dir($orgdir."/".$name)){
		        $this->copydir($orgdir."/".$name,$destdir."/".$name,$override);
		   }else{
		     return false;
		   }
		}
		
	
	}
	//复制文件
	function copyfile($file,$newfile,$del=false){
	    if(!is_file($file)) return false;
		if(is_file($newfile)){
		    if($del){
			  $this->DeleteFile($newfile);
			}else{
			  return $newfile;
			}
		}else{
		  if(copy($file,$newfile)) return $newfile;
		  return false;
		}
	}
    /*
	    作用：创建静态html文件
		@param  $filename 文件路径(相对路径)
		@param  $content  内容
		@param  $override  是否覆盖
	    返回：创建的文件路径名 or false
	 */
	 function MakeHtmlFile($filename=null,$content=null,$override=false){
	          if(empty($filename)) return 0;
			  if(empty($content)) return 0;
			  if(!file_exists(dirname($filename))){ //如果文件目录不存在，就创建
			      //创建目录,调用文件类
				  if(!$this->CreateDir(dirname($filename))) return false;
			  }
			  if(is_file($filename)){// 如果文件已经存在
				       if($override){//如果覆盖
					         //首先删除文件
							 if(!unlink($filename)) return false;
							 //然后创建文件,写入内容
							 if(!$fp=fopen($filename,"wb")) return false;
							 if(!fwrite($fp,$content)) return false;
							 fclose($fp);
							 return $filename;
					    }else{//如果不覆盖
					      return $filename;
					    }
			  }else{//如果文件不存在
				   if(!$fp=fopen($filename,"wb")) return false;
				   if(!fwrite($fp,$content)) return false;
				   fclose($fp);
				   return $filename;
			  }
	 }
	 
	  //验证是否是图片
	 //$path 路径 
	 function is_pic($path){
	    if(!is_file($path)) return 0;
		$ext=strtolower(end(explode(".",$path)));
		$pic_ext_arr=array("jpg","jpeg","gif","bmp","png");
		if(in_array($ext,$pic_ext_arr)&&is_array(getimagesize($path))) return true;
		return false;
     }
	 
	 //绝对路径转网址
	 function ap2url($path){
	   if(DIRECTORY_SEPARATOR=="\\"){
	     if(strpos($path,"\\")!==false){
	       $path=str_replace("\\","/",$path);
		 }
	   }
	   $sever_path=$_SERVER['DOCUMENT_ROOT'];
	   $server_url="http://".$_SERVER['HTTP_HOST'];
	   $s=str_replace($sever_path,"",$path);
	   return $server_url.$s;
	   
	 }
	 
	 //网址转绝对路径
	 function url2ap($url){
	    if(empty($url)) return 0;
		$server_path=$_SERVER['DOCUMENT_ROOT'];
		$server_url="http://".$_SERVER['HTTP_HOST'];
		if(strpos($url,$server_url)===false) return 0;
		$s=str_replace($server_url,"",$url);
		return $server_path.$s;
	 }
	 //建立一个唯一名称的文件 tempnam();
	 //删除文件中任意一行
	 //$filename 文件名
	 //$line  行号
	 //$output
	 function deletefileline($filename,$line){
	     if(!is_file($filename)) return false;
		 $farray=file($filename);
		 if(empty($line)||!is_int($line)||$line>count($farray)) return false;
		 for($i=1;$i<=count($farray);$i++){
		       if($i!=$line) $str.=$farray[$i-1];
		 }
		 if($fp=fopen($filename,"wb")){
		     fwrite($fp,$str);
			 fclose($fp);
		 }
		 return true;
	 }
	 
	 
   
}





// 注意在 4.0.0-RC2 之前不存在 !== 运算符
//if ($handle = opendir('/')) {
   // echo "Directory handle: $handle\n";
   // echo "Files:\n";

    /* 这是正确地遍历目录方法 */
   // while (false !== ($file = readdir($handle))) {
       // echo "$file\n";
    //}

    /* 这是错误地遍历目录的方法 */
    //while ($file = readdir($handle)) {
      //  echo "$file\n";
    //}

   // closedir($handle);
//}




//$tmpfname = tempnam ("/1", "FOO");
//echo $tmpfname;
//$handle = fopen($tmpfname, "w");
//fwrite($handle, "writing to tempfile");
//fclose($handle);
// do here something
//unlink($tmpfname);
 
 
// 文件打开方式 r 只读 文件头  不存在不会新建文件
//              r+ 读写 文件头  不存在不会新建文件
//              w  只写  文件头  如果文件存在会清除文件内所有内容，如果不存在，则新建文件
//              w+  读写  文件头  如果文件存在会清楚文件内所有内容  如果不存在 会新建文件
//              a   只写   文件尾  不会清除文件内容，因为是追加， 如果文件不存在，会新建文件
//              a+   读写   文件尾    不会清除文件内容，因为是追加，如果文件不存在，会新建文件

//注意编码方式  ASNI  汉字占两个字节  字母和数字占一个字节
//unicode 汉字 数字 字母 都占有两个字节
//utf-8 汉字占三个字节  字母和数字占一个字节
//$path="image/";
//$dir=dir($path);
//while($filename=$dir->read()){
   // if(!is_dir($path.$filename)){
	 //   $pathinfo=pathinfo($path.$filename);
	  // if($pathinfo["extension"]=="jpg"){
	    //    list($width,$height,$type,$arr)=getimagesize($path.$filename);
		//	echo $type;
		//	echo "<br>";
		//	echo $arr;
	     //   echo "<img width=".$width." height=".$height." src=".$path.$filename.">&nbsp;&nbsp;";
	   // } 
	 
	 //}
//}

//$myfile=new FILE();
//$cwd=getcwd();
//$f=DIRECTORY_SEPARATOR;
//if($_POST['button1']=='提交'){
  // echo $myfile->uploadfile($_FILES['file1'],"upload");
//}

/*
多文件上传办法    name=file1[] 
<form action="file.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
  <p>
    <input type="file" name="file1[]" id="file1[]" />
 </p>
  <p>
    <input type="file" name="file1[]" id="file1[]" />
  </p>
  <p>&nbsp;</p>
  <p>   
    <input type="submit" name="button1" id="button1" value="提交" />
      </p>
</form>
*/
?>
